﻿using CefSharp.Wpf;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp
{
    // 注意，本类为静态类，方法全为静态方法，无需创建，可以直接使用
    public static class ChartCtrl
    {
        // 引用的浏览器对象
        // 本类内方法基本都是封装起来的浏览器的一些操作函数
        static ChromiumWebBrowser chromiumWebBrowser = null;
        // 进行绑定浏览器对象，此方法需第一个执行
        public static void BoundBrowser(ChromiumWebBrowser chromiumWebBrowser)
        {
            ChartCtrl.chromiumWebBrowser = chromiumWebBrowser;
        }
        // 改变图表显示数据
        public static void ChangeData(Stack<float[]> data)
        {
            if (chromiumWebBrowser == null)
            {
                return;
            }
            Stack<string> strs = new Stack<string>();
            foreach (float[] item in data)
            {
                strs.Push('[' + string.Join(",", item) + ']');
            }
            string jsonData = '[' + string.Join(",", strs) + ']';

            string js = "setData(JSON.parse(\"" + jsonData + "\"));";
            chromiumWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(js);
        }
    }
}
